import numpy as np

def white_noise(size=1):
    """
    Produce complex Gaussian white noise with a variance of unity
    Args:
        size (int or tuple, optional):
            shape of output samples.
    Returns:
        noise (ndarray): shape=size
            random white noise realization
    """
    sig = 1.0 / np.sqrt(2)
    # scale : Standard deviation
    return np.random.normal(scale=sig,size=size) + 1j * np.random.normal(scale=sig,size=size)
    